python时间模块 datetime(date和time部分)

您所在的位置:网站首页 onceinawhile和from time to time python时间模块 datetime(date和time部分)

python时间模块 datetime(date和time部分)

2024-07-03 00:49| 来源: 网络整理| 查看: 265

datetime 实在time模块的基础上进行优化和改进,更好的使用。

datetime主要包含以下几个内容 date:日期类(year,month,day)time:时间类(hour, minute,second,microsecond,tzinfo,*fold)datetime:日期时间,可以看成是date和time的组合,同时继承了他们的大部分方法和属性timedelta:表示两个时间对象(date对象或time对象)的时间间隔,精确到毫秒tzinfo:时区信息的基类,datetime和time类使用它们来提供可定制的时间调整概念(例如,考虑时区和/或夏令时)。 datetime中的两个常量:

datetime.MINYEAR: date或time对象允许的最小年,为 1. datetime.MAXYEAR: date或time对象允许的最大年,为 9999.

以下分别介绍上面几个内容的常用的方法和属性

date类

date对象表示理想日历中的日期(年、月和日) datetime.date(year,month,day)

参数范围yeardatetime.MINYEAR----datetime.MAXYEARmonth1—12day1—28/29/30/31(根据实际年份和月份确定) 类方法(class methods)

date.today()

作用:返回当前时区的日期等价于date.fromtimestamp(time.time()) from datetime import date date.today() # 结果 # datetime.date(2019, 11, 18)

date.fromtimestamp(timestamp)

作用:根据给定的时间戳timestamp ,放回当前时区对应的date对象 import time from datetime import date date.fromtimestamp(time.time()) # 结果 # datetime.date(2019, 11, 18)

date.fromordinal(ordinal)

作用:返回一个date对象,序数ordinal是相对于公元1年1月1日的整型数。ordinal的范围:(1,date.max.toordinal());date.max.toordinal()即datetime.date(9999, 12, 31)的序数 from datetime import date ordinal = date.today().toordinal() # ordinal = 737381 date.fromordinal(ordinal-1) # 结果 # datetime.date(2019, 11, 17)

date.fromisoformat(date_string)

作用:将格式为“YYYY-MM-DD”的日期字符串转化为一个date对象date_string:’‘YYYY-DD-MM’'形式的字符串 注: 该方法是在python 3.7加入的,运行请确保是在3.7以上的环境中 from datetime import date date_string = '2019-11-11' date.fromisoformat(date_string) # 结果 # datetime.date(2019, 11, 11)

date.fromisocalendar(year,month,day)

作用:返回一个date,对应的ISO(国际标准化组织)日历日期指定的年,周和天 注: python3.8新添加 类属性(class attributes)

date.min:返回 datetime.date(1, 1, 1) date.max:返回 datetime.date(9999,12,31) date.resolution: 两个不等date对象存在的最小差值,即datetime.datedelta(days=1)

实例属性(instance attributes)

date.year: 返回date对象的year值 date.month: 返回date对象的month值 date.day: 返回date对象的day值

from datetime import date d = date(2019,11,19) # datetime.date(2019, 11, 19) d.year # 2019 d.month # 11 d.day # 19 实例方法(instance methods)

date.replace(year, month, day)

作用:返回一个实例对象date的日期,若year,month,day被改变,则返回改变的日期(不改变原实例对象的值) from datetime import date d = date(2019,11,11) d.replace() # datetime.date(2019,11,11) d.replace(year=2018) # datetime.date(2018,11,11) d # datetime.date(2019,11,11)

date.timetuple()

作用:将实例对象date转化成一个时间元组(time.struct_time)对象,但其时间部分的值全为0. d.timetuple() # time.struct_time(tm_year=2019, tm_mon=11, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=315, tm_isdst=-1)

date.toordinal()

作用:返回相对于公元1年1月1日的序数. d.toordinal() # 737374

date.weekday()

作用:返回一周中的第几天,范围:0-6(Monday>>>0;Sunday>>>6) date.isoweekday()作用:返回ISO标准的一周中的第几天,范围:1-7(Monday>>>1;Sunday>>>7) d.weekday() # 0 d.isoweekday() # 1

date.isocalendar()

作用:将实例化对象date转化为一个元组; 返回一个元组(ISO year,ISO week number, ISO weekday) 表示year年的第week number 周的 weekday。

注:国际标准化组织规定,一年份由52或53个完整的星期组成,其中一个星期从星期一开始到星期天结束。ISO年份的第一周是包含星期四的一年的第一个公历周。这被称为第一周,那个星期四的ISO年份与其公历年份相同。

d.isocalendar() # (2019, 46, 1)

date.isoformat()

作用:将实例化对象date转化为ISO格式(“YYYY-MM-DD”)的日期字符串 d.isoformat() # '2019-11-11'

date.strftime(format)

作用:将实例化对象date转化为指定格式(format)的字符串,若涉及到时间部分,则时间部分的值全为0. d.strftime('%Y-%m-%d %H:%M:%S') # '2019-11-11 00:00:00' time类

time类表示(当地)一天中的时间部分,独立于任何特定的日期,可以同tzinfo进行时区调整 class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *)

参数范围hour0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3